/* 
 * JornadaTrabalho.java
 * 
 * Data de criação: 11/09/2010
 * 
 * O2SOLUTIONS - SOLUÇÕES EM TECNOLOGIA DA INFORMAÇÃO. 
 *
 */
package br.com.o2solutions.siso.integration.entidade;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import br.com.o2solutions.core.integration.repository.entity.BaseEntity;

/**
 * Classe responsável por representar a jornada de trabalho definida para uma
 * {@link Ala}.
 * 
 * @author Osvaldeir
 * @since 11/09/2010
 * 
 */
@Entity
@Table(name = "TBJORNADATRABALHO")
@SequenceGenerator(name = "SQJORNADATRABALHO")
public class JornadaTrabalho extends BaseEntity<Integer> {

	private static final long serialVersionUID = 3964899454226131258L;
	
	private String descricao;

	private Short horasTrabalho;

	private Short horasDescanso;
	
	private List<Ala> alas;

	/**
	 * Retorna o(a) alas.
	 * 
	 * @return List<Ala>
	 */
	@OneToMany(mappedBy="jornadaTrabalho")
	public List<Ala> getAlas() {
		return alas;
	}

	/**
	 * Atribui o(a) alas.
	 *
	 * @param alas List<Ala>
	 */
	public void setAlas(List<Ala> alas) {
		this.alas = alas;
	}


	@Id
	@Override
	@Column(name = "ID")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQJORNADATRABALHO")
	public Integer getId() {
		return super.getId();
	}

	/**
	 * Retorna o(a) horasTrabalho.
	 * 
	 * @return Short
	 */
	@Column(name = "HORASTRABALHO", nullable = false)
	public Short getHorasTrabalho() {
		return horasTrabalho;
	}

	/**
	 * Atribui o(a) horasTrabalho.
	 * 
	 * @param horasTrabalho
	 *            Short
	 */
	public void setHorasTrabalho(Short horasTrabalho) {
		this.horasTrabalho = horasTrabalho;
	}

	/**
	 * Retorna o(a) horasDescanso.
	 * 
	 * @return Short
	 */
	@Column(name = "HORASDESCANSO", nullable = false)
	public Short getHorasDescanso() {
		return horasDescanso;
	}

	/**
	 * Atribui o(a) horasDescanso.
	 * 
	 * @param horasDescanso
	 *            Short
	 */
	public void setHorasDescanso(Short horasDescanso) {
		this.horasDescanso = horasDescanso;
	}

	/**
	 * Retorna o(a) descricao.
	 * 
	 * @return String
	 */
	@Column(name="DESCRICAO", nullable=false)
	public String getDescricao() {
		return descricao;
	}

	/**
	 * Atribui o(a) descricao.
	 *
	 * @param descricao String
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
}
